#include <iostream>
#include <vector>
using namespace std;

class Solution {
public:
    int minOperations(vector<int>& nums, int x)
    {
        int sum = 0;
        for (auto& e : nums)
            sum += e;
        int target = sum - x;
        if (target < 0)
            return -1;

        int ret = -1;
        for (int left = 0, right = 0, tmp = 0; right < nums.size(); ++right)
        {
            tmp += nums[right];
            while (tmp > target)
                tmp -= nums[left++];
            if (tmp == target)
                ret = max(ret, right - left + 1);
        }

        if (ret == -1)
            return ret;
        else
            return nums.size() - ret;
    }
};

int main()
{
    Solution();

	return 0;
}